//1.导入axios
import axios from "axios";
import qs from "qs"


let baseURL = ''; // 基础地址
if (process.env.NODE_ENV === 'development') {
  // 开发环境，前端解决跨域
  baseURL = '/ujiuye/api';   
} else if (process.env.NODE_ENV === 'production') {
  // 生产环境，后端解决跨域
  baseURL = 'http://localhost:3000/api';
}


// 请求拦截
axios.interceptors.request.use((req) => {
    //每个请求都需要执行的操作    添加token
    return req;
});
  
  // 响应拦截
  axios.interceptors.response.use((res) => {
    // 全局错误拦截
    return res.data;
  });




//2.封装一个get
/* 
  二次封装get方法
  url：指调取的接口地址
  params：数据参数对象
*/
export const get = (url, params = {}) => {
    return axios.get(baseURL + url, { params });
};

//3.封装一个post
/* 
  二次封装post方法
  url：指调取的接口地址
  params：数据参数对象
  isFile：是否有上传文件，默认不上传文件
*/
export const post = (url, params = {}, isFile = false) => {
    let data = null; // 数据
    if (isFile) {
      // 上传，循环将数据放入到FormData对象中
      data = new FormData();
      for (let attr in params) {
        data.append(attr, params[attr]);
      }
    } else {
      // 没有文件上传，则把数据拼成查询字符串
      data = qs.stringify(params);
    }
    return axios.post(baseURL + url, data);
  };